package tasks.leetcode;

public class TaskRemoveElement {
    public static void main(String[] args) {
        int i = new TaskRemoveElement()
                .removeElement(new int[]{1, 2, 3, 4, 5, 6, 7, 7, 7}, 7);
        System.out.println(i);
    }

    public int removeElement(int[] nums, int val) {
        int fast = 0;
        int n = nums.length;
        int slow = 0;
        while (fast < n) {
            if (nums[fast] != val) {
                nums[slow] = nums[fast];
                slow++;
            }
            fast++;
        }
        return slow;
    }


//    public int removeElement(int[] nums, int val) {
//        int n = nums.length;
//        int left = 0;
//        for (int right = 0; right < n; right++) {
//            if (nums[right] != val) {
//                // 把num[right]的值赋值给left的索引指向
//                nums[left] = nums[right];
//                left++;
//            }
//        }
//        return left;
//    }
}
